<?php

function haeTapahtuma($id, $aika) {
    /*
     * Palauttaa hakuehdon mukaiset tapahtumat
     * kysely pitÃ¤Ã¤ muokata oikeaksi
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT * FROM seula.tapahtuma WHERE jarjestaja = ? AND aloitusaika = ? UNION (SELECT * FROM seula.tapahtuma WHERE tapahtuma.kurssi IN (SELECT kurssi_id FROM seula.ilmoittautumiset WHERE henkilo_id = ?) AND aloitusaika = ? )");
    $kysely->execute(array($id, $aika, $id, $aika));
    while ($tulos = $kysely->fetch()) {
        $tulokset[] = $tulos;
    }
    return $tulokset[0];
}

//$henkilo = $_SESSION['id']

function haeKayttajatiedot($ktunnus) {
    /*
     *  Palauttaa yhden kÃ¤yttÃ¤jÃ¤n nimen, sÃ¤hkÃ¶postin, kÃ¤yttÃ¤jÃ¤n oikeudet
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT * FROM seula.henkilo WHERE kayttajatunnus = ?");
    $kysely->execute(array($ktunnus));
    if ($tulos = $kysely->fetch()) {
        $tulokset[] = $tulos['id'];
        $tulokset[] = $tulos['nimi'];
        $tulokset[] = $tulos['email'];
        $tulokset[] = $tulos['oikeudet'];
    }
    return $tulokset;
}

function haeKurssi($id, $nimi) {
    /*
     * Palauttaa kurssin tiedot
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT * FROM seula.kurssi WHERE id = ? OR nimi = ?");
    $kysely->execute(array($id, $nimi));
    while ($tulos = $kysely->fetch()) {
        $tulokset[] = $tulos;
    }
    return $tulokset;
}

function kirjaudu($ktunnus, $salasana) {

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $istuntotunnus = md5(uniqid(""));

    $kysely = $yhteys->prepare("SELECT id, oikeudet FROM seula.henkilo WHERE kayttajatunnus = '$ktunnus' AND salasana = '$salasana'");
    $kysely->execute();

    if ($vastaus = $kysely->fetch()) {
        session_start();
        $_SESSION['id'] = $vastaus['id'];
        $_SESSION['oikeudet'] = $vastaus['oikeudet'];
        $_SESSION['istunto'] = $istuntotunnus;
    } else
        return -1;


    return $istuntotunnus;
}

//    // "Setterit"
//
//LAURIN VERSIO
function lisaaKayttaja($tiedot) {
    /* TESTATTU
     * LisÃ¤Ã¤ kÃ¤yttÃ¤jÃ¤n jÃ¤rjestelmÃ¤Ã¤n
     *  nimi = $tiedot[0]
     *  kayttajatunnus = $tiedot[1];
     *  salasana = $tiedot[2];
     *  email = $tiedot[3];
     *  oikeudet = $tiedot[4];

     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("INSERT INTO seula.henkilo(nimi, kayttajatunnus, salasana, email, oikeudet) VALUES(?, ?, ?, ?, ?) RETURNING id");
    $kysely->execute(array($tiedot[0], $tiedot[1], $tiedot[2], $tiedot[3], $tiedot[4]));
}

function lisaaTapahtuma($tiedot) {
    /* TESTATTU
     * LisÃ¤Ã¤ tapahtuman jÃ¤rjestelmÃ¤Ã¤n
     * nimi
     * jarjestaja //FK
     * aloitusaika
     * lopetusaika
     * kuvaus
     * kurssi
     * paikka
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("INSERT INTO seula.tapahtuma(nimi, jarjestaja, aloitusaika, lopetusaika, kuvaus, kurssi, paikka) VALUES(?, ?, ?, ?, ?, ?, ?)");
    if ($kysely->execute(array($tiedot[0], $tiedot[1], $tiedot[2], $tiedot[3], $tiedot[4], $tiedot[5], $tiedot[6]))) {
        return false;
    }
    else
        return true;
}

function lisaaIlmo($tiedot) {

    /*lisää ilmoittautumisen kurssille, TESTATTU*/

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("INSERT INTO seula.ilmoittautumiset (henkilo_id, kurssi_id, suoritettu) VALUES(?, ?, ?)");
    if($kysely->execute(array($tiedot[0], $tiedot[1], $tiedot[2]))) 
            echo "<SCRIPT LANGUAGE='javascript'>submit();</SCRIPT>";
            //echo "jee";

}

function poistaIlmo($hid, $kid) {

    /*poistaa lmoittautumisen kurssille, TESTATTU*/

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("DELETE FROM seula.ilmoittautumiset WHERE henkilo_id = '$hid' AND kurssi_id = '$kid'");
    if($kysely->execute()){
          
            return true;
    }
    else return false;

}

function lisaaSuoritus($ktunnus, $kurssi_id){

    /*asettaa kurssin jolle on ilmoittauduttu, suoritetuksi. EI TESTATTU*/
    
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("ALTER TABLE seula.ilmoittautumiset (suoritettu) WHERE henkilo_id = '$ktunnus' AND kurssi_id = '$kurssi_id' VALUES('true')");
    if($kysely->execute()){
            echo "jee";
    }
    else echo "ei onaa";
}
//
function lisaaKurssi($tiedot) {
    /* TESTATTU
     * Lisää kurssin järjestelmään
     * JSON lisätty alapuolelle, toistaiseksi tämä on ajettu
     * vain kertaalleen, eikä sitä vielä tarvitse ajaakkaan
     * uudestaan
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("INSERT INTO seula.kurssi(nimi, aloituspvm, lopetuspvm, vuosi, opintopisteet, kuvaus, periodi) VALUES(?, ?, ?, ?, ?, ?, ?)");
    $kysely->execute(array($tiedot[0], $tiedot[1], $tiedot[2], $tiedot[3], $tiedot[4], $tiedot[5], $tiedot[6]));
}

//
function lisaaJSON($kurssi, $alku, $loppu) {
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("INSERT INTO seula.kurssi(nimi, aloituspvm, lopetuspvm) VALUES('$kurssi', '$alku', '$loppu')");
    $kysely->execute();

    echo $kurssi . " lisÃ¤tty kantaan";
}

function poistaKayttaja($ktunnus) {
    /*
     * TESTATTU
     * Poistaa kÃ¤yttÃ¤jÃ¤n jÃ¤rjestelmÃ¤stÃ¤
     */
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("DELETE FROM seula.henkilo WHERE kayttajatunnus = ?");
    $kysely->execute(array($ktunnus));
}

function poistaTapahtuma($id) {
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("DELETE FROM seula.tapahtuma WHERE id = '$id'");
    if($kysely->execute())
            return true;
    else return false;
}

function muutaOikeudet($ktunnus, $oikeudet) {
    /*
     * muuttaa käyttäjän oikeudet
     */

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("ALTER TABLE seula.henkilo (oikeudet) WHERE kayttajatunnus = '$ktunnus' VALUES ('$oikeudet')");
    $kysely->execute();
}


function palautaIlmot(){
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.ilmoittautumiset");
    $kysely->execute();
    while ($vastaus = $kysely->fetch()) {
        $henk_id[] = $vastaus['henkilo_id'];
        $kurssi_id[] = $vastaus['kurssi_id'];
        $suoritettu[] = $vastaus['suoritettu'];
    }
    $palautettava[] = $henk_id;
    $palautettava[] = $kurssi_id;
    $palautettava[] = $suoritettu;

    return $palautettava;
}

function palautaKayttajat() {
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.henkilo");
    $kysely->execute();

    while ($vastaus = $kysely->fetch()) {
        $tunnus[] = $vastaus['kayttajatunnus'];
        $salasana[] = $vastaus['salasana'];
        $id[] = $vastaus['id'];
    }
    $palautettava[] = $tunnus;
    $palautettava[] = $salasana;
    $palautettava[] = $id;

    return $palautettava;
}

function palautaKayttajanIlmot($henkilo) {
    
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT * FROM seula.ilmoittautumiset WHERE henkilo_id = '$henkilo'");
    $kysely->execute();
    while ($tulos = $kysely->fetch()) {
        $kurssit[] = $tulos['kurssi_id'];
    }
    return $kurssit;
}

function palautaKurssit() {

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.kurssi");
    $kysely->execute();

    while ($vastaus = $kysely->fetch()) {
        $nimi[] = $vastaus['nimi'];
        $aloituspvm[] = $vastaus['aloituspvm'];
        $lopetuspvm[] = $vastaus['lopetuspvm'];
        $opintopisteet[] = $vastaus['opintopisteet'];
        $periodi[] = $vastaus['periodi'];
        $kuvaus[] = $vastaus['kuvaus'];
        $id[] = $vastaus['id'];
    }
    $palautettava[] = $id;
    $palautettava[] = $nimi;
    $palautettava[] = $aloituspvm;
    $palautettava[] = $lopetuspvm;
    $palautettava[] = $periodi;
    $palautettava[] = $opintopisteet;
    $palautettava[] = $kuvaus;

    return $palautettava;
}


function palautaTapahtumat() {

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.tapahtuma");
    $kysely->execute();

    while ($vastaus = $kysely->fetch()) {
        $nimi[] = $vastaus['nimi'];
        $aloituspvm[] = $vastaus['jarjestaja'];
    }
    $palautettava[] = $nimi;
    $palautettava[] = $aloituspvm;

    return $palautettava;
}


function onkoKayttaja($kayttajatunnus){
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.henkilo WHERE kayttajatunnus = '$kayttajatunnus'");
    $kysely->execute();

    $vastaus = $kysely->fetch();
    if($vastaus['id']){
        return true;
    }else{
        return false;
    }
}

function onkoKurssi($kurssinimi){
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.kurssi WHERE nimi = ?");
    $kysely->execute(array($kurssinimi));

    if($vastaus = $kysely->fetch()) {
        return true;
    }else{
        return false;
    }
}

function onkoTapahtuma($tapahtumanimi){
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");

    $kysely = $yhteys->prepare("SELECT * FROM seula.tapahtuma WHERE nimi = ?");
    $kysely->execute(array($tapahtumanimi));

    if($vastaus = $kysely->fetch()) {
        return true;
    }else{
        return false;
    }
}

function onkoIlmo($henkilo_id, $kurssi_id){

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT * FROM seula.ilmoittautumiset WHERE henkilo_id = '$henkilo_id' AND kurssi_id = '$kurssi_id'");
    $kysely->execute();

    if($vastaus = $kysely->fetch()) {
        return true;
    }else{
        return false;
    }
}

function haeKayttajaId($nimi){

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT id FROM seula.henkilo WHERE nimi = '$nimi'");
    $kysely->execute();

    if($vastaus = $kysely->fetch()) {
        return $vastaus[0];
    }else{
        return -1;
    }
}

function haeKurssiId($nimi){
    
    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT id FROM seula.kurssi WHERE nimi = '$nimi'");
    $kysely->execute();

    if($vastaus = $kysely->fetch()) {
        return $vastaus[0];
    }else{
        return -1;
    }
}


function haeTapahtumaId($nimi){

    $yhteys = new PDO('pgsql:dbname=jjlaukka;host=localhost', "jjlaukka", "eskopekka");
    $kysely = $yhteys->prepare("SELECT id FROM seula.tapahtuma WHERE nimi = '$nimi'");
    $kysely->execute();

    if($vastaus = $kysely->fetch()) {
        return $vastaus[0];
    }else{
        return -1;
    }
}
?>
